﻿Imports System.Data
Imports System.Data.OleDb
Imports System
Imports System.IO

Partial Class Interfaz_frmExtraMensaje
    Inherits System.Web.UI.Page
    Dim CL As New ControladorLogica
    Dim dtDatos As New DataTable
    Dim dataset As New DataSet

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If CL.visibilidadesFormsInternos("Sistema", Session("user").ToString) = False Then
            Response.Redirect("Seleccion.aspx")
        End If
        LabelUser.Text = Session("user").ToString

        If Not Page.IsPostBack Then
            CargarDrop()
            CargarUsuario()
        End If
        FuncionAviso()
    End Sub


#Region "Funcionalidades"

    Private Sub CargarDrop()
        DropEleccion.Items.Add("Imagenes")
        DropEleccion.Items.Add("Archivos")
        DropEleccion.Items.Add("Video")
        DropEleccion.Items.Add("Otros")
    End Sub


    Private Sub FuncionUpload()
        Dim sExt As String = String.Empty
        Dim sName As String = String.Empty
        Dim userEmpleado As String = Session("usuarioArchivo").ToString
        Dim opcionSeleccionado As String = Me.DropEleccion.Text

        If UploadFile.HasFile Then
            sName = UploadFile.FileName

            Dim pathSeleccionado As String = "E:\SSANCHEZ\proyectos2011\ProyectoMSH\SVN\Otros\DocumentosEmpleados\" & userEmpleado & "\" & opcionSeleccionado
            Dim pathSeleccionadoArchivo As String = "~/otros/DocumentosEmpleados/" & userEmpleado & "/" & opcionSeleccionado & "/" & sName
            sExt = Path.GetExtension(sName)
            crearDirectorios(pathSeleccionado)
            UploadFile.SaveAs(MapPath(pathSeleccionadoArchivo))
            MsgBox("Su archivo se ha subido satisfactoriamente")
        Else
            LabelMsj.Text = "Seleccione el archivo que desea subir."
        End If
    End Sub

    Private Function CambiaSlash(ByVal path As String) As String
        Dim pathFinal As String = ""

        For i As Integer = 0 To path.Length - 1
            If (path.Chars(i) <> "\") Then
                pathFinal = pathFinal + path.Chars(i)
            Else
                pathFinal = pathFinal + "/"
            End If
        Next
        Return pathFinal
    End Function

    Private Sub crearDirectorios(ByVal Directory As String)
        On Error GoTo ErrSub

        Dim i As Integer
        Dim Array_Dir As Object
        Dim Sub_Dir As String
        Dim El_Path As String

        El_Path = Directory

        If El_Path = vbNullString Then
            Exit Sub
        End If

        'Desglosa el path y llena el array con los subdirectorios que se irán creando  
        Array_Dir = Split(El_Path, "\")

        El_Path = vbNullString

        'Recorre el vector anterior para ir creando uno por uno comenzando obviamente desde el directorio de primer nivel  
        For i = LBound(Array_Dir) To UBound(Array_Dir)
            Sub_Dir = Array_Dir(i)
            If Sub_Dir <> vbNullString Then
                El_Path = El_Path & Sub_Dir & "\"
                If Right$(Sub_Dir, 1) <> ":" Then
                    ' Verificamos que no exista  
                    If Dir(El_Path, vbDirectory) = vbNullString Then
                        'Crea la carpeta  
                        Call MkDir(El_Path)
                    End If
                End If
            End If
        Next
        'Error  
        Exit Sub

ErrSub:

        MsgBox("Número de error: " & Err.Number & _
               "Descripción del error: " & Err.Description, vbCritical)
    End Sub

    Private Sub CargarUsuario()
        Dim usuario As Usuario = DirectCast(CL.ObtenerUsuarioUserID(Session("usuarioArchivo")).Item(0), Usuario)
        Dim empleado As Empleado = DirectCast(CL.obtenerEmpleadoFK(usuario.RefEmpleado).Item(0), Empleado)
        Me.TxTNombre.Text = empleado.Nombre + " " + empleado.Apellido
        ImageUser.ImageUrl = empleado.RutaFoto
    End Sub

    Private Sub FuncionAviso()
        Dim query As String = "select count(*) cuenta from solicitudes where estado ='P'"
        Dim cantidadPendientes As Integer = CInt(CL.Ejecuta(query).Item("cuenta").ToString)

        If cantidadPendientes <> 0 Then
            Image3.Visible = True
            Image4.Visible = False
        Else
            Image3.Visible = False
            Image4.Visible = True
        End If
    End Sub

#End Region

#Region "Botones"

    Protected Sub BtnLogout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
        Session("user") = ""
        Response.Redirect("Principal.aspx")
    End Sub

    Protected Sub BtnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnUpload.Click
        FuncionUpload()
    End Sub
#End Region


   
    
End Class